/**
 * 
 */
package br.com.skynix.tcmc.model.servico;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import org.hibernate.annotations.ForeignKey;

import br.com.skynix.tcmc.base.model.EntidadeAuditavel;
import br.com.skynix.tcmc.model.rh.Empresa;

/**
 * @author davi
 * 
 */
@Entity
@Table(name = "tb_aparelho")
public class Aparelho extends EntidadeAuditavel {
	@NotNull
	@ManyToOne
	@JoinColumn(name = "id_tipo_aparelho_fk", nullable = false,
			referencedColumnName = "id")
	@ForeignKey(name = "FK001_aparelho")
	private TipoAparelho tipoAparelho;

	@NotNull
	@ManyToOne
	@JoinColumn(name = "id_marca_aparelho_fk", nullable = false,
			referencedColumnName = "id")
	@ForeignKey(name = "FK002_aparelho")
	private MarcaAparelho marcaAparelho;

	@NotNull
	@ManyToOne
	@JoinColumn(name = "id_empresa_fk", nullable = false,
			referencedColumnName = "id")
	@ForeignKey(name = "FK003_aparelho")
	private Empresa empresa;

	@Size(max = 255)
	@Column(nullable = true, length = 255)
	private String modelo;

	@Column(nullable = true, columnDefinition = "TEXT DEFAULT NULL")
	private String descricao;

	@Size(max = 255)
	@Column(nullable = true, length = 255)
	private String foto1;

	@Size(max = 255)
	@Column(nullable = true, length = 255)
	private String foto2;

	@Size(max = 255)
	@Column(nullable = true, length = 255)
	private String foto3;

	/**
	 * @return the tipoAparelho
	 */
	public TipoAparelho getTipoAparelho() {
		return tipoAparelho;
	}

	/**
	 * @param tipoAparelho the tipoAparelho to set
	 */
	public void setTipoAparelho(TipoAparelho tipoAparelho) {
		this.tipoAparelho = tipoAparelho;
	}

	/**
	 * @return the marcaAparelho
	 */
	public MarcaAparelho getMarcaAparelho() {
		return marcaAparelho;
	}

	/**
	 * @param marcaAparelho the marcaAparelho to set
	 */
	public void setMarcaAparelho(MarcaAparelho marcaAparelho) {
		this.marcaAparelho = marcaAparelho;
	}

	/**
	 * @return the empresa
	 */
	public Empresa getEmpresa() {
		return empresa;
	}

	/**
	 * @param empresa the empresa to set
	 */
	public void setEmpresa(Empresa empresa) {
		this.empresa = empresa;
	}

	/**
	 * @return the modelo
	 */
	public String getModelo() {
		return modelo;
	}

	/**
	 * @param modelo the modelo to set
	 */
	public void setModelo(String modelo) {
		this.modelo = modelo;
	}

	/**
	 * @return the descricao
	 */
	public String getDescricao() {
		return descricao;
	}

	/**
	 * @param descricao the descricao to set
	 */
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	/**
	 * @return the foto1
	 */
	public String getFoto1() {
		return foto1;
	}

	/**
	 * @param foto1 the foto1 to set
	 */
	public void setFoto1(String foto1) {
		this.foto1 = foto1;
	}

	/**
	 * @return the foto2
	 */
	public String getFoto2() {
		return foto2;
	}

	/**
	 * @param foto2 the foto2 to set
	 */
	public void setFoto2(String foto2) {
		this.foto2 = foto2;
	}

	/**
	 * @return the foto3
	 */
	public String getFoto3() {
		return foto3;
	}

	/**
	 * @param foto3 the foto3 to set
	 */
	public void setFoto3(String foto3) {
		this.foto3 = foto3;
	}
}
